import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

Vue.use(Vuex)

// 页面交互状态（折叠侧边栏-固定头部）是用全局状态vuex
// 根据功能拆分成不同的模块(modules)进行状态管理
// 通过getters建立对于模块中属性的快捷访问

const store = new Vuex.Store({
  // 模块
  modules: {
    app, // 控制左侧导航栏的伸缩和logo是否显示
    settings, // 控制header
    user

    // 本项目针对user模块进行重写，其他模块则进行复用
  },
  // vuex里的"计算属性"
  getters
})

export default store
